The applicant has found, from a study of the field, basically three suggested mechanisms for the protection of software products against non-licensed use. The first one is simply a contract between the software producer and user wherein misuse creates rights for the recovery of damages or specific penalties for misuse. A second one is the display of the licensee's name or other unique information on a CRT screen or printout which publicizes the terms of the license and to some extent provides a deterent against use by other than a licensee. The third one is applicable to cases where a program is to be run on a computer into which is incorporated an identification number. Thus, a software manufacturer may incorporate into its software product instructions that the product can only be employed with a computer bearing that identification number.
While the first two measures offer some protection against the illegal resale of software products, they generally do not prevent the sharing of licensed products among closedly related users. Furthermore, with respect to the first one, it may not be effective at all in countries where procedural or substantive law prevents the enforcement of a particular contract (even in this country, little known enforcement has been evidenced).
The second and third approach suffer from the requirement that software distribution must be customized for each buyer, and while this may seem simple, it has proved to be logistically difficult in practice.
The third approach is perhaps the most effective one, and for computers which can read out identification numbers, it can be implemented in a standardized fashion. However, most computers do not contain built-in identifications which can be read by a program. In such cases, special purpose identification devices must be supplied. Unfortunately, there are no standards for such devices, and the use of a different identification device for each product is unwieldy and generally leads to incompatibility when more than one such product is to be used on the same computer. Also, simple hardware identification readouts are easy to defeat.
Accordingly, it is the object of the invention to: (1) provide a software protection system which effectively guarantees that a given software product cannot be used on an unauthorized computer, (2) be both convenient and simple to use with any computer system, and (3) be compatible with usage by a computer of other software products, which may either be adapted to be protected by the system, or may not be. In other words, no limitations are placed upon a computer by virtue of the employment of the present system.